//============================================================================================
/**
 * @file	pkth_sel_sub.h
 * @brief	ポケスロン参加ポケモン選択アプリ	上画面
 * @author	Nozomu Saito
 *
 * モジュール名：PkthSelSub_
 */
//============================================================================================

#ifndef __PKTH_SEL_SUB_H__
#define __PKTH_SEL_SUB_H__

#include "common.h"
#include "system/buflen.h"

#include "savedata/pkthln_svdata.h"

#define	PKTH_PARAM_NUM	(5)

typedef struct PKTH_SEL_SUB_tag * PSS_CNT_PTR;

typedef enum{
	PSS_REDRAW_CLEAR,	//情報クリア
	PSS_REDRAW_THROUGH,	//書き換え不要
	PSS_REDRAW_UPDATE,	//書き換え
}PSS_REDRAW;

typedef struct PKTH_PARAM_tag
{
	s8 UpDown;
	u8 Stars[5];
	u8 dummy[2];
}PKTH_PARAM;

//情報書き換えに必要なデータ構造体
typedef struct PSS_REDRAW_INFO_tag
{
	int PsnlRnd;
	u16 MonsNo;		//モンスターナンバー
	u8 Rare;		//レア判定
	u8 Form;		//フォルムナンバー

	u8 Sex;			//性別
	u8 ReDraw;		//書き換え必要か？	PSS_REDRAW参照
	STRCODE NickName[MONS_NAME_SIZE+EOM_SIZE]; //ニックネーム	22byte

	//メダル
	u8 Medal[MEDAL_TYPE_MAX];
	u8 dummy[3];
	//パラメータ関連
	PKTH_PARAM	Param[PKTH_PARAM_NUM];
	//↑配列はパワー・スタミナ・テクニック・ジャンプ・スピードの順番
}PSS_REDRAW_INFO;

extern PSS_CNT_PTR PkthSelSub_Alloc(const int inHeapID);
extern void PkthSelSub_Init(PSS_CNT_PTR ptr, GF_BGL_INI *inBGL, const u8 inCourseID, const u8 inAllStarFlg);
extern void PkthSelSub_ReDraw(PSS_CNT_PTR ptr, const PSS_REDRAW_INFO* inReDrawInfo);
///extern void PkthSelSub_SetFirstDraw(PSS_CNT_PTR ptr);
extern void PkthSelSub_Draw(PSS_CNT_PTR ptr);
extern void PkthSelSub_Free(PSS_CNT_PTR ptr);

#endif //__PKTH_SEL_SUB_H__
